package com.tom.compose.service.engin;

import com.tom.compose.model.aggregates.TreeRich;
import com.tom.compose.model.vo.EngineResult;

import java.util.Map;

/**
 * 决策引擎
 * <pre>
 *   对于调用方来说,也同样需要定义统一的接口操作,便于后续扩展出不同类型的决策引擎,
 *   也就是建造不同的决策工厂。
 * </pre>
 * @author zhongxu
 */
public interface IEngine {

    EngineResult process(final Long treeId, final String userId, TreeRich treeRich, final Map<String, String> decisionMatter);

}